The present invention relates to a sample rate conversion method and apparatus.
Sample rate conversion, or resampling, is used when digital systems of different sample rates have to be connected. When the sample rates of the systems to be connected are related in a simple way, for example by integer or fractional factors, exact resampling can be used. In many cases, however, there are no simple relations between the sample rates of the systems. In these cases it is necessary to use non-exact resampling, or arbitrary sample rate conversion.
In certain applications there are several systems with differing sample rates that share common hardware. The common hardware can then often be designed so that its sample rate is related in a simple way to one of the systems, but not all. However, it is also often desirable to keep the sample rate of the common hardware somewhat independent of the other sample rates, in order to retain a degree of freedom in the design and optimization of the common hardware (such as optimizing the sample rate of an analog-to-digital converter). An example is digital IF (Intermediate Frequency) processing for multi-standard radio communication.
The two most commonly used solutions for resampling are polynomial interpolation and polyphase FIR (finite impulse response) filters, see [1]-[3].
Polynomial interpolation, or N-th order interpolation, is a way of computing output samples in-between input samples using polynomials. Lagrange interpolation is a well known polynomial interpolation scheme suitable for resampling. Typically zero-order and first-order Lagrange interpolation is used. A drawback of polynomial interpolation is that it often has poor spectral properties [1]. Another drawback of the polynomial method is that it involves a high computational load.
Polyphase FIR filters techniques (see [3], for example) for resampling applications consist of arranging a highly oversampled FIR filter (many coefficients) into several sets, branches or subfilters, and for each output use a different set of filter coefficients for multiplying the input samples. The set of filter coefficients used for a specific output sample represent a fractional delay filter with a delay equal to the delay between the time of an available input sample and the time of the desired output sample. The delay is kept track of by counters or xe2x80x98timing NCOsxe2x80x99 (NCO=numerically controlled oscillator). Usually the delay is represented as an integer part, telling which input sample range to use, and a fractional part, telling which subfilter to use. Ideally, for non-rational resampling ratios, infinitely many branches or subfilters are needed for representing all possible delays, but in practice a limited (but large) number of branches are used, approximating all possible delay values with the closest delay available (sample and hold). The error in doing this is the main design tradeoff in this type of resampling. The polyphase method is characterized by having larger memory requirements but somewhat lower computational load than the polynomial method. However, the computational load is still high, and it would be desirable to reduce this load further.
These two methods can also be combined, greatly reducing the number of coefficients needed at the expense of increasing the computational load. When combining polyphase filtering with first-order (linear) interpolation, two xe2x80x98rawxe2x80x99 output samples have to be computed for each linearly interpolated output sample, increasing the computational load to twice that of the polyphase filter method itself plus the multiplications needed for the linear interpolation (one per output sample).
An object of the present invention is an arbitrary sample rate conversion method and apparatus that are less computationally intense than the prior art.
This object is achieved in accordance with the attached claims.
Briefly, the present invention solves this object by providing a technique that is based on polyphase filters, but provides several consecutive output samples from the same subfilter and input sample block by using block convolution. This reduces the computational load. A reduced computational load is especially attractive in a mobile radio communication environment, where it may be exploited for reducing the power consumption, which in turn results in better battery utilization.